﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FastLibrary.Criptografia;
using FastDATA;

namespace CursoUNICEUB.Account
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void LoginButton_Click(object sender, EventArgs e)
        {
            try
            {
                DEAluno aluno = null;
                using (DCCursoDataContext banco = new DCCursoDataContext())
                {
                    var q = from a in banco.DEAlunos
                            where a.Email.Equals(this.txtEmail.Text) &&
                                  a.Senha.Equals(Cript.getMD5Hash(this.txtPassword.Text))
                            //&& a.STPago
                            select a;

                    aluno = q.FirstOrDefault();
                    if (aluno != null)
                    {
                        if (aluno.STPago)
                        {
                            aluno.Senha = String.Empty;

                            if (Session["aluno"] == null)
                                Session.Add("aluno", aluno);
                            else
                                Session["aluno"] = aluno;

                            string lastpage = this.Request.QueryString["lastpage"];

                            if (String.IsNullOrEmpty(lastpage))
                                Response.Redirect("../Default.aspx");
                            else
                            {
                                string pageToRedirect = "../" + lastpage;
                                Response.Redirect(pageToRedirect);
                            }
                        }
                        else
                            Util.showMessage(Page, "Login não liberado por falta de pagamento");
                    }
                    else
                        Util.showMessage(this, "Email ou senha incorreta. Por favor, tente novamente");
                }
            }
            catch (Exception)
            {
                Util.showMessage(this, "Não foi possível realizar o login. Tente mais tarde ou ligue para 8592-4439");
            }
        }
    }
}
